package com.forum.utils;

/**
 * @ClassNameR
 * @Author 张继成
 * 消息返回对象
 * @Date 2023/11/13 11:25
 */

import java.util.Map;
import java.util.HashMap;

public class R extends HashMap<String, Object>{
    private static final long serialVersionUID=1L;

    public R(){
        put("code",0);
    }


    public R put(String key,Object value) {
        //这是一个允许自定义的方法，用于向HashMap中添加键值对。在这个方法中，调用了super.put(key, value)，
        // 将键值对放入HashMap中。然后，返回this，通过链式调用将多个键值添加对到R对象中。
        super.put(key,value);
        return this;
    }

    public static R error(int code,String msg){
        R r = new R();
        r.put("code",code).put("msg",msg);
        return r;
    }

    public static R error(String msg){
        return error(500,msg);
    }

    public static R ok(Map<String ,Object>map){
        R r = new R();

        r.putAll(map);
        return r;
    }
    public static R ok(String msg) {
        R r = new R();
        r.put("msg", msg);
        return r;
    }
    /*
     * 返回正确的通用R类
     * */
    public static R ok(){
        return new R();
    }
}
